The present invention relates to the field of color matching between I/O devices in a computer system and particularly to color matching between a monitor and a printer.
The range of colors that a display device can print is defined as the color gamut of the device. The color gamut for a printer is different from that of a monitor. One reason for this is that the color gamut for a monitor is represented in digital red, green and blue (i.e. RGB) values which control the intensity of the monitor color phosphors producing a range of hues (e.g. red, green, blue, cyan, magenta etc.), lightnesses (i.e. how much white or black in the color) and saturations (i.e. how bright or intense the color is). In contrast, the printer is limited to the number of colors it can produce using its available inks and their associated hues, lightnesses and saturations by a different process. Printer gamuts are often smaller than monitor gamuts. The colors that are the same for both gamuts are said to be in-gamut colors, whereas colors that are in one gamut but not the other are defined as out-of-gamut colors.
Color matching is a method that is used to match colors displayed by a source device (such as a monitor) to colors displayed by a destination device (such as a printer). Generally, the source device is defined as the device transmitting digital color information in the form of a digital color value and the destination device is the device receiving the color value. One manner in which color matching is performed is by using a color matching algorithm to calculate corrected color values to be inserted into a look-up table. Once a color table is created, color values transmitted from a monitor (typically RGB color values) are used to index the corrected values stored in the table. These corrected values are then transmitted to the printer and are used to instruct the printer what color it should print. The problem with this method is that creating the look-up tables is a very time intensive process due to the complexity of the algorithms used to generate the values to be stored in the look-up tables. In addition, the look-up tables generally take up large amounts of memory space.
Another problem with this type of color matching method is that different display devices often display colors in an inherently different manner. For example, a display monitor displays color by illuminating phosphor dots on its screen. The resulting color is the additive combination of the light from the phosphors. In contrast, a printer displays color by depositing ink on paper. The color is achieved by the ink""s subtraction of light from the viewing illumination. Because of this, colors displayed on a monitor are additive whereas colors displayed on a printer are subtractive. Consequently, when monitor color components (e.g. red, green, and/or blue) are added to generate a third color the intensity of the resultant color is more intense than the two original colors. However, when more than one color is printed on paper with ink, each color is subtracted from the white viewing illumination and the resultant printer color is darker than each of the two color components that created it. As a result, a color value used to display color on a monitor screen will generate a darker color on a printer.
This problem becomes even more evident in the case in which a single component color value is used to display a color on a monitor and a multiple component color value is used to display a matching color on a printer. For instance, the monitor typically only needs to use a single component to display a fully saturated red; however in order for the printer to match this color, a color matching algorithm would often indicate that the printer needs to use two or three components: magenta, yellow and possibly black, to obtain a color that matches the monitor. The reason for this is that red on the printer is produced with two components, magenta and yellow, and as a result, the color will be darker. The inverse of the above case is also truexe2x80x94a printer can print a given color with a single component whereas the monitor needs to use two or more components to display that same color. For instance, printers can typically print cyans and magentas with a single component whereas a monitor must mix two components to generate these colors. As a result, the mixed monitor color is often lighter than the printed one component ink color.
Still another problem with color matching occurs when a monitor color falls out of the gamut of the printer (i.e. out-of-gamut colors). In this case, color matching algorithms often attempt to choose a printer color having a lightness, hue, and saturation close to that of the monitor color it is being matched to. However, it is hard to match all three of these color characteristics due to the above-described color display disparities between the monitor and the printer. As a result, color matching algorithms are sometimes designed to provide the same hue and lightness, but not the same saturation. The reason this is done is that, to the viewer, the lightness of a picture provides most of the information of the scene when compared to the saturation. However, although this is true for photos, where intense colors are not as critical, it is not true in other graphic display applications in which intensity (i.e. saturation) is important.
Thus, what is desired is an alternative color matching method to the presently used color matching algorithm techniques.
The present invention is a method and system for matching color displayed by source and destination display devices and particularly for providing color matching between a computer monitor and an ink printer. The technique of the present invention initially determines the combination of single destination color components and corresponding combination color value ratios that will cause the destination device to display a color that essentially matches the color associated with each of the fully saturated single color and dual color components of a source display device. These combinations of single destination color values and their corresponding color value ratios determine the best available blends of single destination device color components for printing each one of the single and double component fully saturated source device colors.
The ratios of the destination device components are derived by using a color matching algorithm. The color matching algorithm provides the closest matching combination of color components (with respect to hue and saturation, but ignoring lightness) that the destination device can display that corresponds to each of the fully saturated source device""s single and dual color components. The color matching algorithm also provides percentage information about each of the color components in the combination.
The color component ratios are then used to create a set of color tablesxe2x80x94one for each single destination device color component. The color values in each table are linearly scaled from zero to the maximum intensity level given by the color matching algorithm. The maximum intensity value in each color table corresponds to the previously obtained component ratio value for that color component. These tables are generated only once and are used to perform all subsequent color matching operations between the source and destination display devices unless the user decides to subjectively adjust colors by adjusting the original combination and ratio values.
Color matching is performed by first processing the source display device""s original color value through a first series of computational steps that first subtracts out the white and black component color values encoded in the original source color value and then determines what combination and ratio of destination color components compose the original source color value. These computational steps generate single destination device component color values that represent the original source color value which are used to access the previously created color look-up tables. The accessed color values from the look-up tables are again processed so as to convert them into a color value compatible to the destination device.
In one specific embodiment of the present invention, the source display device is a monitor and the destination display device is a printer. In this embodiment combinational component color values associated with printer ink ratios are determined for each of the fully saturated RGB monitor colors using a given color matching algorithm. The ink ratios are used to generate the look-up color tables that are used for performing the color matching method of the present invention.
The color matching technique of the present invention can be implemented in a system that includes at least one logic unit for performing the computational steps that are performed on the original source color value before and after accessing the color look-up tables. The system also includes a memory unit for storing the previously created color look-up tables as described above. Finally, a computational unit is included to perform the computational steps necessary to convert the color look-up table values into destination device values.